package com.jan.l4;

import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class EventWindow
    extends ApplicationWindow
{

  public EventWindow(Shell parentShell)
  {
    super(parentShell);
    // TODO Auto-generated constructor stub
  }

  @Override
  protected Control createContents(Composite parent)
  {
//    final Button button = new Button(parent, SWT.NONE);
//    button.addMouseListener(new MouseListener()
//    {
//
//      @Override
//      public void mouseDoubleClick(MouseEvent arg0)
//      {
//        // TODO Auto-generated method stub
//
//      }
//
//      @Override
//      public void mouseDown(MouseEvent arg0)
//      {
//        button.setText("down");
//
//      }
//
//      @Override
//      public void mouseUp(MouseEvent arg0)
//      {
//        button.setText("up");
//
//      }
//    });
//    button.addKeyListener(new KeyAdapter()
//    {
//      @Override
//      public void keyPressed(KeyEvent e)
//      {
//        String s = "";
//        if ((e.stateMask & SWT.CTRL) != 0)
//        {
//          s += "Ctrl-";
//        }
//        if ((e.stateMask & SWT.SHIFT) != 0)
//        {
//          s += "Shift-";
//        }
//        if ((e.stateMask & SWT.ALT) != 0)
//        {
//          s += "Alt-";
//        }
//        switch (e.keyCode)
//        {
//          case SWT.BS:
//            s += "BACKSPACE";
//            break;
//          case SWT.CR:
//            s += "CARRIAGE RETURN";
//            break;
//          case SWT.DEL:
//            s += "DELETE";
//            break;
//          case SWT.ESC:
//            s += "ESCAPE";
//            break;
//          case SWT.LF:
//            s += "LINE FEED";
//            break;
//          case SWT.TAB:
//            s += "TAB";
//            break;
//          default:
//            s += e.character;
//            break;
//        }
//        button.setText(s);
//      }
//    });
    new MouseKeyComposite(parent);
    return parent;
  }

  public static void main(String[] args)
  {
    EventWindow cv = new EventWindow(null);
    cv.setBlockOnOpen(true);
    cv.open();
    Display.getCurrent().dispose();

  }
}
